#ifndef VTKFIELDIMPORT_SWEBOUNDARY_HPP
#define VTKFIELDIMPORT_SWEBOUNDARY_HPP

#include "sweSolver.hpp"
#include "tinyxml2.h"

namespace hms::vtk
{

namespace xml = tinyxml2;

template<typename MeshType>
std::optional<boundaryCondition::Type> stringToBoundaryType(
	SolverBase<SWESolver<MeshType>>&,
	typename SolverBase<SWESolver<MeshType>>::FieldName,
	std::string_view bcTypeStr
);


template<typename MeshType>
void readSWEBoundaryCondition(
	const xml::XMLElement* bcElem,
	const BoundaryPatch& patch,
	SolverBase<SWESolver<MeshType>>& solver,
	typename SolverBase<SWESolver<MeshType>>::FieldName fieldName,
	boundaryCondition::Type bcType
);

} // namespace hms::vtk

#endif